home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / Projects / Tutorial Material / Pitch and Rhythm Tutorial / Rhythm Template < prev    next >
Lisp/Scheme  |  1998-10-26  |  2KB  |  100 lines

  1. ; A Template for Studies in RHYTHM - solos for a bass instrument
  2.  
  3. (setq mel1 
  4.    (symbol-transform
  5.       from '(a b c d)
  6.       to '(e f g h)
  7.       order '(0 3 2 1)
  8.       changes '(1)
  9.       repeats '(1 2 3)
  10.    )
  11. )
  12.  
  13. (setq mel2 
  14.    (symbol-transform
  15.       from '(e f g h)
  16.       to '(i j k l)
  17.       order '(3 2 1 0)
  18.       changes '(1)
  19.       repeats '(1 2 3)
  20.    )
  21. )
  22.  
  23. (setq mel3 
  24.    (symbol-transform
  25.       from '(i j k l)
  26.       to '(a b c d)
  27.       order '(2 1 0 3)
  28.       changes '(1)
  29.       repeats '(1 2 3)
  30.    )
  31. )
  32.  
  33. (setq mel4 
  34.    (symbol-transform
  35.       from '(m n o p)
  36.       to '(e f g h)
  37.       order '(1 0 3 2)
  38.       changes '(1)
  39.       repeats '(1 2 3)
  40.    )
  41. )
  42.  
  43. (setq rhy1 '(1/8 1/16 1/16))
  44. (setq rhy2 '(-1/16 1/8 1/16))
  45. (setq rhy1a (gen-loop '((2 3 8) (1 2 4 2)) rhy1))
  46. (setq rhy2a (gen-loop '((1 3 2) (1 2 8)) rhy2))
  47. (setq fiborhy (gen-fibonacci 8 rhy1 rhy2))
  48. (setq len '((1/8 1/16 1/16) (-1/16 1/8 1/16)))
  49. (setq looprhy (append rhy1a rhy2a))
  50.  
  51. (setq genrhy1 '1/8)
  52. (setq genrhy2 '1/16)
  53.  
  54. ;  EITHER - with this basic solo instrument definition
  55.  
  56. (def-symbol
  57.    bass (append mel1 mel2 mel3 mel4)
  58.  
  59. (def-expression
  60.    default ((legato 80 19 0.7) (humanize -1 2 0.6) (velocity 30 0.5))
  61. )
  62.  
  63. (def-length
  64.    bass rhy1  
  65. )
  66.  
  67. (setq tonal (activate-tonality (chromatic c 3)))
  68.  
  69. (compile-song-p "ccl;output:" 1/2 "song"
  70. ;  BARS              |---|---|---|---|---|---|---|---|
  71.    bass      tonal  "--------------------------------"
  72. )
  73.  
  74. ;  OR - with definitons for bass instrument and a percussion    
  75. ;  accompaniment
  76.  
  77. (setq mels (append mel1 mel2 mel3 mel4))
  78.  
  79. (def-symbol
  80.    bass mels
  81.    drums (filter-extract '(a c d e f) mels)
  82.  
  83. (def-expression
  84.    default ((legato 80 19 0.7) (humanize 0 2 0.6) (velocity 30 0.5))
  85. )
  86.  
  87. (def-length
  88.    bass rhy1
  89.    drums fiborhy
  90. )
  91.  
  92. (setq tonal (activate-tonality (chromatic c 3)))
  93.  
  94. (compile-song-p "ccl;output:" 1/1 "song"
  95. ;  BARS              |---|---|---|---|---|---|---|---|
  96.    bass      tonal  "--------------------------------"
  97.    drums     mt-32  "------------------------------- "
  98. )